package com.nio;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

import cn.hutool.core.util.IdcardUtil;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.extra.pinyin.PinyinUtil;
import cn.hutool.http.server.HttpServerResponse;

public class Read1 {

	public static void main(String[] args) {

		String a =  "1104222";
		
		System.out.println(a.substring(0,3));
				
		System.err.println(IdcardUtil.isValidCard(a));
		System.out.println(IdcardUtil.isValidCard(a.trim()));
		
	}

//	public void read(HttpServerResponse re) {
//		
//		 OutputStream  out =  re.getOut();
//		 
//
//		// try with 获取文件
//		try (RandomAccessFile raf = new RandomAccessFile("C:/Users/domains90/Desktop/更改职务.txt", "rw");) {
//
//			
//			// 获取通道
//			FileChannel channel = raf.getChannel();
//			
////			FileChannel f = FileChannel.open("C:/Users/domains90/Desktop/更改职务.txt",on.WRITE,
////                    StandardOpenOption.READ, StandardOpenOption.CREATE);
//			
//
//			// 获取通道的大小
//			Long soureSize = channel.size();
//			// 向上取整之后，平均每一份x
//			int x = roundUp(soureSize, 4);
//			System.out.println("每份大小："+x);
//			List<ByteBuffer> list = new LinkedList<>();
//			for (int i = 0; i < 4; i++) {
//				ByteBuffer buf = ByteBuffer.allocate(9);
//				list.add(buf);
//			}
//			ByteBuffer[] bufs = list.toArray(new ByteBuffer[list.size()]);
//			
//			//读取
//			channel.read(bufs);
//			System.out.println("bufs："+bufs);
//			for (ByteBuffer byteBuffer : bufs) {
//				byteBuffer.flip(); // 切换到读模式
//				System.out.println(new String(byteBuffer.array(), 0, byteBuffer.limit()));
//			}
//			System.out.println("读取结束");
//		} catch (FileNotFoundException e) {
//
//			e.printStackTrace();
//		} catch (IOException e1) {
//
//			e1.printStackTrace();
//		} catch (Exception e2) {
//
//			e2.printStackTrace();
//		}
//	}
//
//	// 按num分割平均每块大小
//
//	// 按size分割，能分成多少份，向上取整
//	/**
//	 * @param sourcSize 数据源 xxx字节
//	 * @param size      份数 平均分割成多少份
//	 */
//	private int roundUp(Long sourcSize, int size) {
//		return (int) Math.ceil((double) sourcSize / size);
//	}

}
